package com.mdd.front.service.yangyangLeadingEnterprise;

import com.mdd.common.core.PageResult;
import com.mdd.common.entity.yangyangLeadingEnterprise.TAppEnterprise;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.yangyangLeadingEnterprise.TAppEnterpriseCreateValidate;
import com.mdd.front.validate.yangyangLeadingEnterprise.TAppEnterpriseSearchValidate;
import com.mdd.front.validate.yangyangLeadingEnterprise.TAppEnterpriseUpdateValidate;
import com.mdd.front.vo.yangyangLeadingEnterprise.TAppEnterpriseDetailVo;
import com.mdd.front.vo.yangyangLeadingEnterprise.TAppEnterpriseListedVo;

import java.util.List;

/**
 * 【请填写功能名称】服务接口类
 * @author LikeAdmin
 */
public interface ITAppEnterpriseService {

    /**
     * 【请填写功能名称】列表
     *
     * @author LikeAdmin
     * @param pageValidate 分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<TAppEnterpriseListedVo>
     */
    PageResult<TAppEnterpriseListedVo> list(PageValidate pageValidate, TAppEnterpriseSearchValidate searchValidate);

    /**
     * 【请填写功能名称】详情
     *
     * @author LikeAdmin
     * @param id 主键ID
     * @return TAppEnterpriseDetailVo
     */
    TAppEnterpriseDetailVo detail(Integer id);

    /**
     * 【请填写功能名称】新增
     *
     * @author LikeAdmin
     * @param createValidate 参数
     */
    void add(TAppEnterpriseCreateValidate createValidate);

    /**
     * 【请填写功能名称】编辑
     *
     * @author LikeAdmin
     * @param updateValidate 参数
     */
    void edit(TAppEnterpriseUpdateValidate updateValidate);

    /**
     * 【请填写功能名称】删除
     *
     * @author LikeAdmin
     * @param id 主键ID
     */
    void del(Integer id);

    /**
     * 根据id查询企业信息
     * @param enterpriseId
     * @return
     */
    TAppEnterprise selectEnterpriseById(Integer enterpriseId);

    /**
     * 查询用户名下企业/用户企业下拉列表
     * @param userId
     * @return
     */
    List<TAppEnterprise> selectEnterpriseListByUserId(Integer userId);

    /**
     * 用户绑定新的企业信息
     * @param appEnterprise
     * @return
     */
    String insertEnterpriseByUserId(TAppEnterprise appEnterprise);
}
